package xyz.xtt.exchange.enums;

import java.util.HashMap;
import java.util.Map;

/**
 * ymt
 */

public enum UserCollectSignTypeEnum {

    GOODS(0, "收藏商品"),
    USER(1, "关注用户");

    private int code;
    private String name;

    // 定义一个静态的 Map 用于存储 code 到枚举实例的映射
    private static final Map<Integer, UserCollectSignTypeEnum> CODE_MAP = new HashMap<>();

    // 静态代码块，在类加载时将所有枚举实例的 code 和对应的枚举实例存入 CODE_MAP
    static {
        for (UserCollectSignTypeEnum type : values()) {
            CODE_MAP.put(type.getCode(), type);
        }
    }

    // 枚举的构造函数，用于初始化 code 和 name
    UserCollectSignTypeEnum(int code, String name) {
        this.code = code;
        this.name = name;
    }

    // 获取 code 的 getter 方法
    public int getCode() {
        return code;
    }

    // 获取 name 的 getter 方法
    public String getName() {
        return name;
    }

    // 根据 code 获取对应的枚举实例的方法
    public static UserCollectSignTypeEnum getByCode(int code) {
        return CODE_MAP.get(code);
    }
}
